package cn.cubic.sys.modular.customerinfo.model.param;

import cn.cubic.core.pojo.base.param.BaseParam;

import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;

/**
 * 客户信息表
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class CustomerInfoParam extends BaseParam {

    /**
     * 主键
     */
    @NotNull(message = "主键不能为空",groups = {edit.class})
    private Long id;

    /**
     * 用户id
     */
    @NotNull(message = "用户id不能为空",groups = {add.class,edit.class})
    private String eUserId;

    /**
     * 用户昵称
     */
    @NotNull(message = "用户昵称不能为空",groups = {add.class,edit.class})
    private String nickName;

    /**
     * 绑定手机号
     */
    @NotNull(message = "绑定手机号不能为空",groups = {add.class,edit.class})
    private String bindPhone;

    /**
     * 采集手机号
     */
    @NotNull(message = "采集手机号不能为空",groups = {add.class,edit.class})
    private String collectPhone;

    /**
     * 头像
     */
    @NotNull(message = "头像不能为空",groups = {add.class,edit.class})
    private String avatar;

    /**
     * 用户来源
     */
    @NotNull(message = "用户来源不能为空",groups = {add.class,edit.class})
    private String source;

    /**
     * 消费总额（元）
     */
    @NotNull(message = "消费总额（元）不能为空",groups = {add.class,edit.class})
    private BigDecimal paySum;

    /**
     * 购买次数
     */
    @NotNull(message = "购买次数不能为空",groups = {add.class,edit.class})
    private Integer punchCount;

    /**
     * 微信 union_id
     */
    @NotNull(message = "微信 union_id不能为空",groups = {add.class,edit.class})
    private String wxUnionId;

    /**
     * 微信 open_id
     */
    @NotNull(message = "微信 open_id不能为空",groups = {add.class,edit.class})
    private String wxOpenId;

    /**
     * 微信小程序 open_id
     */
    @NotNull(message = "微信小程序 open_id不能为空",groups = {add.class,edit.class})
    private String wxAppOpenId;

    /**
     * 真实姓名
     */
    @NotNull(message = "真实姓名不能为空",groups = {add.class,edit.class})
    private String name;

    /**
     * 性别(0-无 1-男 2-女)
     */
    @NotNull(message = "性别(0-无 1-男 2-女)不能为空",groups = {add.class,edit.class})
    private Integer gender;

    /**
     * 城市
     */
    @NotNull(message = "城市不能为空",groups = {add.class,edit.class})
    private String city;

    /**
     * 省份
     */
    @NotNull(message = "省份不能为空",groups = {add.class,edit.class})
    private String province;

    /**
     * 国家
     */
    @NotNull(message = "国家不能为空",groups = {add.class,edit.class})
    private String country;

    /**
     * 生日
     */
    @NotNull(message = "生日不能为空",groups = {add.class,edit.class})
    private Date birth;

    /**
     * 地址
     */
    @NotNull(message = "地址不能为空",groups = {add.class,edit.class})
    private String address;

    /**
     * 公司
     */
    @NotNull(message = "公司不能为空",groups = {add.class,edit.class})
    private String company;

    /**
     * 职位
     */
    @NotNull(message = "职位不能为空",groups = {add.class,edit.class})
    private String job;

}
